Next | Prev | Up | Top | Contents | Index

Summary of Standard STREAMS Functions

The supported kernel functions for STREAMS operations are summarized for reference in Table 19-2. To declare the necessary prototypes and data types, include sys/types.h and sys/stream.h.

Kernel Entry Points
NameCan Sleep?Summary
adjmsg(D3) NTrim bytes from a message.
allocb(D3) NAllocate a message block.
bcanput(D3) NTest for flow control in a specified priority band.
bcanputnext(D3) NTest for flow control in a specified priority band.
bufcall(D3) NCall a function when a buffer becomes available.
canput(D3) NTest for room in a message queue.
canputnext(D3) NTest for room in a message queue.
copyb(D3) NCopy a message block.
copymsg(D3) NCopy a message.
datamsg(D3) NTest whether a message is a data message.
dupb(D3) NDuplicate a message block.
dupmsg(D3) NDuplicate a message.
enableok(D3) NAllow a queue to be serviced.
esballoc(D3) NAllocate a message block using an externally-supplied buffer.
esbbcall(D3) NCall a function when an externally-supplied buffer can be allocated.
flushband(D3) NFlush messages in a specified priority band.
flushq(D3) NFlush messages on a queue.
freeb(D3) NFree a message block.
freemsg(D3) NFree a message.
freezestr(D3) NFreeze the state of a stream.
getq(D3) NGet the next message from a queue.
insq(D3) NInsert a message into a queue.
linkb(D3) NConcatenate two message blocks.
msgdsize(D3) NReturn number of bytes of data in a message.
msgpullup(D3) NConcatenate bytes in a message.
noenable(D3) NPrevent a queue from being scheduled.
OTHERQ(D3) NGet a pointer to queue's partner queue.
pcmsg(D3) NTest whether a message is a priority control message.
pullupmsg(D3) NConcatenate bytes in a message.
putbq(D3) NPlace a message at the head of a queue.
putctl(D3) NSend a control message to a queue.
putctl1(D3) NSend a control message with a one-byte parameter to a queue.
putnext(D3) NSend a message to the next queue.
putnextctl(D3) NSend a control message to a queue.
putnextctl1(D3) NSend a control message with a one-byte parameter to a queue.
putq(D3) NPut a message on a queue.
qenable(D3) NSchedule a queue's service routine to be run.
qprocsoff(D3) YEnable put and service routines.
qprocson(D3) YDisable put and service routines
qreply(D3) NSend a message in the opposite direction in a stream.
qsize(D3) NFind the number of messages on a queue.
RD(D3) NGet a pointer to the read queue.
rmvb(D3) NRemove a message block from a message.
rmvq(D3) NRemove a message from a queue.
SAMESTR(D3) NTest if next queue is of the same type.
strqget(D3) NGet information about a queue or band of the queue.
strqset(D3) NChange information about a queue or band of the queue.
unbufcall(D3) NCancel a pending bufcall request.
unfreezestr(D3) NUnfreeze the state of a stream.
unlinkb(D3) NRemove a message block from the head of a message.
WR(D3) NGet a pointer to the write queue.



Next | Prev | Up | Top | Contents | Index